Skip to content

Add llm artifact upload step (test results artifacts) #51890

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

benbp
Copy link
Member

@benbp benbp commented Aug 11, 2025

This PR adds a pipeline step to upload the .trx (xml) files from tests as a devops artifact. This allows the azsdk cli/mcp to fetch the artifacts and parse them for analysis.

This is necessary as we would like to support pipeline analysis for the github coding agent and/or partner developers without any auth requiremnts. The devops test results API requires auth, even for public projects, otherwise we would be able to use that directly like we do in for the azsdk azp analyze --agent flow.

I'm using a more generic naming (llm artifacts) as we may end up wanting to upload other generic files for use by LLMs in the future.

@benbp benbp self-assigned this Aug 11, 2025
@benbp benbp added the Central-EngSys This issue is owned by the Engineering System team. label Aug 11, 2025
@Copilot Copilot AI review requested due to automatic review settings August 11, 2025 19:50
@benbp benbp moved this from 🤔 Triage to 🔬 Dev in PR in Azure SDK EngSys 🍕 Aug 11, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds infrastructure to upload test results artifacts (.trx files) for LLM consumption, enabling external analysis tools to access test data without authentication requirements. This is intended to support pipeline analysis for GitHub Copilot and partner developers.

  • Adds a new template step to collect and organize .trx test result files
  • Integrates the collection step into the CI test pipeline with conditional artifact upload
  • Creates a standardized naming convention for test artifacts to facilitate parsing

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
eng/pipelines/templates/steps/upload-llm-artifacts.yml New template that collects .trx files and renames them with service/package identifiers
eng/pipelines/templates/jobs/ci.tests.yml Integrates the LLM artifact upload step and adds conditional artifact publishing

@@ -73,6 +73,11 @@ jobs:
artifactName: "Crash Dump - $(System.JobName) - $(System.JobAttempt)"
condition: eq(variables['uploadDump'], 'true')
sbomEnabled: false
- output: pipelineArtifact
targetPath: '$(Build.ArtifactStagingDirectory)/llm-artifacts'
artifactName: "LLM Artifacts - $(System.JobName) - $(System.JobAttempt)"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to have this LLM specific artifact? I know we talked about it but don't remember what we decided?

$fileFullName = $testResultsFile.FullName

# Convert a path like
# /mnt/vss/_work/1/s/sdk/template/Azure.Template/tests/TestResults/net8.0.trx
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to update the trx file name at the source?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Central-EngSys This issue is owned by the Engineering System team.
Projects
Status: 🔬 Dev in PR
Development

Successfully merging this pull request may close these issues.

2 participants